package com.dropdb.demo.mapper;

import com.dropdb.demo.bean.Order;
import com.dropdb.demo.bean.OrderExample;
import com.dropdb.demo.bean.vo.StatGetGoodsVO;
import com.dropdb.demo.bean.vo.StatGetOrderVO;
import com.dropdb.demo.bean.vo.UserOrderInfoVO;
import com.dropdb.demo.bean.vo.UserOrderListVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface OrderMapper {
    long countByExample(OrderExample example);

    int deleteByExample(OrderExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Order record);

    int insertSelective(Order record);

    List<Order> selectByExample(OrderExample example);

    List<UserOrderListVO> selectOrderInfoByExample(OrderExample orderExample);

    List<StatGetGoodsVO> selectByDay();

    List<StatGetOrderVO> selectByStatus();

    Order selectByPrimaryKey(Integer id);

    UserOrderInfoVO selectOrderInfoByPrimaryKey(Integer orderId);

    Integer selectSumOfPrice();

    int updateByExampleSelective(@Param("record") Order record, @Param("example") OrderExample example);

    int updateByExample(@Param("record") Order record, @Param("example") OrderExample example);

    int updateByPrimaryKeySelective(Order record);

    int updateByPrimaryKey(Order record);
}